package com.zretc.support.service;

import com.zretc.support.entity.AnsAndTop;
import com.zretc.support.entity.Answer;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 1.教师改某学生的综合题
 * 2.获取某学生的整张试卷答题信息
 * 3.客观题自动打分
 * 4.学生交卷后添加到答题表并进行
 */
public interface AnswerService {

    /**
     * 获取的是某场考试 某学生的 综合题答题信息
     * @param examId
     * @param userId
     * @return
     */
    List<Answer> answerList(int examId,String userId);

    /**
     * 获取的是某场考试 某学生的 所有答题信息
     * @param examId
     * @param userId
     * @return
     */
    List<Answer> allanswerList(int examId,String userId);

    /**
     * 统计某场考试 某学生的 客观题成绩
     * @param examId
     * @param userId
     * @return
     */
    double countObjective(int examId,String userId);

    /**
     * 老师改综合题并评分
     * @param answer
     * @return
     */
    int markSubjective(Answer answer);

    // 5. 学生答题 -- 没有详细写 看到时候前台怎么传值！
    int addAnswer(Answer answer);

    /**
     * 获取某学生综合题答题信息
     * 前台页面需要的格式
     * @Author 傅洁敏
     * @param examId
     * @param userId
     * @return
     */
    List<AnsAndTop> getAnswerMult(int examId, String userId);

    //添加部分：通过试卷id获得answer表的所有信息
    Answer getByExamId(long examId);

    public Page<Answer> getByPage(String topicId,int page, int pageSize);

    //评分
    int updSocre(double socre, Integer answerId);

    //获取答题信息
    Answer getByAnswerId(Integer answerId);

}
